public class SetPassword {
    public static String encryption(String str) { // 加密
        try {
            Checker.checkPassword(str); // 检查密码
            StringBuffer password = new StringBuffer(str); // 使用StringBuffer获得密码
            for (int i = 0; i < str.length(); i++) {
                password.setCharAt(i, (char) (password.charAt(i) + (i + 1) + 3));
            } // 用setCharAt方法,对密码的每个字符加上位置和偏移值3
            char temp = password.charAt(0);
            password.setCharAt(0, password.charAt(password.length() - 1));
            password.setCharAt(password.length() - 1, temp); // 创建一个临时变量,交换密码的第一位和最后一位
            password.reverse(); // 用reverse方法反转
            return "加密后的结果是: " + password.toString(); // 返回结果
        } catch (MyException ex) {
            return "请输入数字或者大小写字母.密码长度不超过16"; // 密码不合理接受异常并返回提示信息
        }

    }

}
